package com.xindacloud.sms.console.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 授权给用户的短信通道
 * </p>
 *
 * @author czc
 * @since 2019-10-08
 */
@Data
@Builder
@TableName
@JsonIgnoreProperties(ignoreUnknown = true)
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class SmsUserAllowOperator implements Serializable {


    /**
     * 主键
     * 流水号UUID
     * isNullAble:0
     */
    @TableId(type = IdType.UUID)
    private String allowOperatorId;

    /**
     * 用户ID
     * isNullAble:0
     */
    private Integer userId;

    private String operatorId;

   

    /**
     * 创建时间
     * isNullAble:1,defaultVal:CURRENT_TIMESTAMP
     */
    private java.time.LocalDateTime createTime;
    /**
     * 最后更新时间
     * isNullAble:1,defaultVal:CURRENT_TIMESTAMP
     */
    private java.time.LocalDateTime lastUpdateTime;

    @ApiModelProperty(value = "短信通信代理商ID", name = "agentId")
    private String agentId;

    /**
     * 国家简称编码如CN
     * isNullAble:0
     */
    @ApiModelProperty(value = "国家简称编码如CN", name = "countryCode")
    private String countryCode;

    /**
     * 国家名称如China
     * isNullAble:0
     */
    @ApiModelProperty(value = "国家名称如China", name = "countryName")
    private String countryName;
    @ApiModelProperty(value = "国家显示名称基本和countryName一致", name = "countryDisplayName")
    private String countryDisplayName;

    /**
     * 网络如46000-46003
     * isNullAble:1
     */
    @ApiModelProperty(value = "网络如46000-46003", name = "networkCode")
    private String networkCode;

    /**
     * 网络区域码如46002,46004,46007,46008
     * isNullAble:1
     */
    @ApiModelProperty(value = "网络区域码如46002,46004,46007,46008", name = "networkAliases")
    private String networkAliases;

    /**
     * 运营商名称如China Mobile China Unicom China Telecom
     * isNullAble:1
     */
    @ApiModelProperty(value = "运营商名称如China Mobile China Unicom China Telecom", name = "networkName")
    private String networkName;

    /**
     * 前缀如86
     * isNullAble:1
     */
    @ApiModelProperty(value = "国家号码前缀如86", name = "prefix")
    private String prefix;

    /**
     * 成本价
     * isNullAble:0
     */
    @ApiModelProperty(value = "成本价", name = "costPrice")
    private BigDecimal costPrice;

    /**
     * 售价
     * isNullAble:0,
     */
    @ApiModelProperty(value = "售价", name = "price")
    private BigDecimal price;

    /**
     * 状态是否可用,true可用，false不可用
     * isNullAble:1,defaultVal:1
     */
    @ApiModelProperty(value = "状态是否可用,true可用，false不可用", name = "status")
    private Boolean status;

    /**
     * 同步更新时间
     * isNullAble:1,defaultVal:CURRENT_TIMESTAMP
     */
 /*   @ApiModelProperty(value = "同步更新时间 yyyy-MM-dd HH:mm:ss", name = "syncDateTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.time.LocalDateTime syncDateTime;*/

    /**
     * 货币单位
     * isNullAble:1
     */
    @ApiModelProperty(value = "货币单位", name = "currency")
    private String currency;

    /**
     * Landline固定电话,mobile移动电话
     * isNullAble:1
     */
    @ApiModelProperty(value = "Landline固定电话,mobile移动电话", name = "type")
    private String type;

    /**
     * 默认价格
     * isNullAble:1
     */
    @ApiModelProperty(value = "默认价格", name = "defaultPrice")
    private BigDecimal defaultPrice;
    @ApiModelProperty(value = "mnc", name = "mnc")
    private String mnc;
    @ApiModelProperty(value = "mcc", name = "mcc")
    private String mcc;
}
